/**
 * 
 */
package inmobiliaria.frsf.enums;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Lucas
 * 
 */
public enum OrientacionEnum {

	NORTE(0, "Norte"), SUR(1, "Sur"), ESTE(2, "Este"), OESTE(3, "Oeste"), NORESTE(4, "Noreste"), 
	NOROESTE(5, "Noroeste"), SURESTE(6, "Sureste"), SUROESTE(7, "Suroeste");

	/**
	 * Id
	 */
	private Integer id;

	/**
	 * Descripcion
	 */
	private String descripcion;

	/**
	 * Contructor
	 * 
	 * @param id
	 *            id enumerado
	 * @param descripcion
	 *            Descripcion
	 */
	OrientacionEnum(Integer id, String descripcion) {
		this.id = id;
		this.descripcion = descripcion;
	}

	/**
	 * @return the id
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * @return the descripcion
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * @param descripcion
	 *            the descripcion to set
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	/**
	 * Obtiene lista con ids de diagnosticos
	 * 
	 * @return
	 */
	public static List<OrientacionEnum> getList() {
		List<OrientacionEnum> ids = new ArrayList<OrientacionEnum>();
		ids.add(SUR);
		ids.add(NORTE);
		ids.add(ESTE);
		ids.add(OESTE);
		ids.add(SURESTE);
		ids.add(SUROESTE);
		ids.add(NOROESTE);
		ids.add(SURESTE);

		return ids;
	}

	public static Integer getId(String descripcion) {
		if (SUR.getDescripcion().equals(descripcion)) {
			return SUR.getId();

		} else if (NORTE.getDescripcion().equals(descripcion)) {
			return NORTE.getId();

		} else if (ESTE.getDescripcion().equals(descripcion)) {
			return ESTE.getId();

		} else if (OESTE.getDescripcion().equals(descripcion)) {
			return OESTE.getId();

		} else if (SURESTE.getDescripcion().equals(descripcion)) {
			return SURESTE.getId();

		} else if (NOROESTE.getDescripcion().equals(descripcion)) {
			return NOROESTE.getId();

		} else if (NORESTE.getDescripcion().equals(descripcion)) {
			return NORESTE.getId();

		} else
			return SURESTE.getId();
	}

	public static String getDescripcion(Integer id) {
		if (SUR.getId().equals(id)) {
			return SUR.getDescripcion();

		} else if (NORTE.getId().equals(id)) {
			return NORTE.getDescripcion();

		} else if (NOROESTE.getId().equals(id)) {
			return NOROESTE.getDescripcion();

		} else if (SURESTE.getId().equals(id)) {
			return SURESTE.getDescripcion();

		} else if (NORESTE.getId().equals(id)) {
			return NORESTE.getDescripcion();

		} else if (SUROESTE.getId().equals(id)) {
			return SUROESTE.getDescripcion();

		} else if (OESTE.getId().equals(id)) {
			return OESTE.getDescripcion();

		} else
			return ESTE.getDescripcion();

	}
}
